package com.jeethink.erp.pile.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeethink.common.core.domain.entity.TbShop;
import com.jeethink.common.core.domain.entity.TbWarehouse;
import com.jeethink.erp.commodity.domain.TbCommodity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jeethink.common.annotation.Excel;
import com.jeethink.common.core.domain.BaseEntity;

/**
 * 库存对象 tb_stock_pile
 * 
 * @author ypr
 * @date 2021-05-26
 */
public class TbStockPile extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 库存表id */
    private Long stockPileId;


    /** 仓库表id */
    private Long warehouseId;

    /** 商品表id */
    private Long commodityId;

    /** 店铺表id  */
    private Long shopId;

    /** 第一次入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstEnterDate;

    /** 最后一次出库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次出库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastLeaveDate;



    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    //商品对象
    private TbCommodity tbCommodity;
    //仓库对象
    private TbWarehouse tbWarehouse;
    //店铺对象
    private TbShop tbShop;

    //库存数量
    private Integer purchaseNum;
/*
    *//** 进价 *//*
    @Excel(name = "进价")
    private BigDecimal purchasePrice;*/

    private Long shop;

    private String isMainLibrary;


    public String getIsMainLibrary() {
        return isMainLibrary;
    }

    public void setIsMainLibrary(String isMainLibrary) {
        this.isMainLibrary = isMainLibrary;
    }

    public Long getShop() {
        return shop;
    }

    public void setShop(Long shop) {
        this.shop = shop;
    }

    public Integer getPurchaseNum() {
        return purchaseNum;
    }

    public void setPurchaseNum(Integer purchaseNum) {
        this.purchaseNum = purchaseNum;
    }


    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public TbCommodity getTbCommodity() {
        return tbCommodity;
    }

    public void setTbCommodity(TbCommodity tbCommodity) {
        this.tbCommodity = tbCommodity;
    }

    public TbWarehouse getTbWarehouse() {
        return tbWarehouse;
    }

    public void setTbWarehouse(TbWarehouse tbWarehouse) {
        this.tbWarehouse = tbWarehouse;
    }

    public TbShop getTbShop() {
        return tbShop;
    }

    public void setTbShop(TbShop tbShop) {
        this.tbShop = tbShop;
    }

    public void setStockPileId(Long stockPileId)
    {
        this.stockPileId = stockPileId;
    }

    public Long getStockPileId() 
    {
        return stockPileId;
    }
    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }
    public void setCommodityId(Long commodityId) 
    {
        this.commodityId = commodityId;
    }

    public Long getCommodityId() 
    {
        return commodityId;
    }
    public void setFirstEnterDate(Date firstEnterDate) 
    {
        this.firstEnterDate = firstEnterDate;
    }

    public Date getFirstEnterDate() 
    {
        return firstEnterDate;
    }
    public void setLastLeaveDate(Date lastLeaveDate) 
    {
        this.lastLeaveDate = lastLeaveDate;
    }

    public Date getLastLeaveDate() 
    {
        return lastLeaveDate;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("stockPileId", getStockPileId())
            .append("warehouseId", getWarehouseId())
            .append("commodityId", getCommodityId())
            .append("firstEnterDate", getFirstEnterDate())
            .append("lastLeaveDate", getLastLeaveDate())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
